package main

import (
	"fmt"
)

func main() {
	// test阶乘
	fmt.Println(f(10))
	fmt.Println(1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10)
	// test 上三角
	g(13)
}

// n的阶乘，递归
func f(n int) int {
	if n == 0 {
		return 1
	} else if n > 0 {
		return f(n-1) * n
	} else {
		return 0
	}
}

// n行上三角
func g(n int) {
	for i := 1; i <= n; i++ {
		for j := n; ; j-- {
			if j > i {
				fmt.Printf("%s", "    ")
			} else if j > 0 {
				fmt.Printf("%4d", j)
			} else {
				fmt.Println()
				break
			}
		}
	}
}
